package question1;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

/**
 * A remplacer par votre classe ApplettePile .
 * 
 * @author:  (votre nom)
 * @version: (un num�ro de version ou une date)
 */
public class ApplettePile extends JApplet implements ActionListener
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
// variables d'instance - remplacez cet exemple par le v�tre
  private JTextField donnee = new JTextField(6);
  private JTextField sommet = new JTextField(6);
  private JLabel     contenu = new JLabel("[]");
  
  private Pile p;

	 /**
	 * Appel�e par le navigateur ou le visualiseur afin de signaler � l'Applet
	 * qu'il est maintenant pris en charge par le syst�me.
	 * Il est garanti que ceci pr�c�dera le premier appel de la m�thode start.
	 */
	public void init()
	{
		// Il y a un conflit de s�curit� avec les navigateurs courants (incluant
		// Netscape & Internet Explorer) qui interdisent l'acc�s � la queue 
		// d'�v�nements d'AWT --ce dont les JApplets ont besoin au d�marrage.
		JRootPane rootPane = this.getRootPane();	
		rootPane.putClientProperty("defeatSystemEventQueueCheck", Boolean.TRUE);

		JButton    boutonEmpiler = new JButton("empiler");
    JButton    boutonDepiler = new JButton("depiler");

    JPanel enHaut = new JPanel();
    enHaut.add(donnee);
    enHaut.add(boutonEmpiler);
    enHaut.add(boutonDepiler);
    enHaut.add(sommet);
    setLayout(new BorderLayout(5,5));
    add("North",enHaut);
    add("Center",contenu);
    enHaut.setBackground(Color.red);
    boutonEmpiler.addActionListener(this);
    boutonDepiler.addActionListener(this);
    
    try{
      p = new Pile(Integer.parseInt(getParameter("TAILLE")));
    }catch(Exception e){
      p = new Pile();
    }
	}
	
	
 public void actionPerformed(ActionEvent ae){
	 if(ae.getActionCommand().equals("empiler")){
	      try{
	        p.empiler(donnee.getText());
	        contenu.setText(p.toString());
	      }catch(PilePleineException e){
	        contenu.setText(p.toString() + " estPleine !");
	      }
	    }else{
	      try{
		    sommet.setText(p.depiler().toString());
	        contenu.setText(p.toString());	      
		    }catch(PileVideException e){
		      contenu.setText(p.toString() + " estVide !");
		    }
	    }
 	}
}
